package com.woniu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.dto.AddGoodsTypeDto;
import com.woniu.model.GoodsType;
import com.woniu.params.*;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴彦祖
 * @since 2024年05月25日
 */
public interface GoodsTypeService extends IService<GoodsType> {
    GoodsType addGoodsType(AddGoodsTypeParam param);

    List<GoodsType> disable(Integer typeId);

    void enable(Integer typeId);

    void modify(Integer parentId, Integer typeId);

    /**
     * 查询所有商品类别
     * @param param page分页param
     * @return page
     */
    Page<GoodsType> getAll(pageParam param);

    /**
     * 查询所有商品类别list
     * @return page
     */
    List<GoodsType> getAllList();
    /**
     * 禁用某个商品类别
     * @param param 改变状态param
     * @return null
     */
    void changeStatus(ChangeStatusParam param);
    /**
     * 查询可用的商品类别list
     * @return list
     */
    List<GoodsType> findUseFulType(FindUseFulTypeParam param);

    /**
     * 更改商品父类
     * @param param 更改父类param
     * @return null
     */
    void changeFatherNow(ChangeFatherNowParam param);
    /**
     * 删除商品类型
     * @param typeId 类别id
     * @return null
     */
    void delType(Integer typeId);


    //List<AddGoodsTypeDto> addGoodsType(List<AddGoodsTypeParam> params);
}
